﻿using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Runtime.Serialization;
using System.Collections;
using System.Data;
using System.ComponentModel;
using System.Data.OracleClient;
using WPFExcelReport.Helpers;
using WPFExcelReport.Controls;
namespace WPFExcelReport
{
    public partial class VKSTSTELL
    {
        public void SetUpNewRow(ref DataRow dwReturn)
        {
            #region
            #endregion
            switch (app.company)
            {
                case "YGR":
                case "SXN":
                case "TST":
                default:
                    #region
                    dwReturn["KSTMANDANT"] = "00";
                    dwReturn["KSTKSTKRS"] = "SY";
                    dwReturn["KSTKST"] = "0001";
                    dwReturn["KSTWERK"] = "   ";
                    dwReturn["KSTABT"] = "   ";
                    dwReturn["KSTBEZ"] = "³£ÖÝÈýÔ´                      ";
                    dwReturn["KSTPLNKST"] = "J";
                    dwReturn["KSTABRKST"] = "J";
                    dwReturn["KSTBDEKEN"] = "  ";
                    dwReturn["KSTMZTK"] = "J";
                    dwReturn["KSTMZTM"] = "J";
                    dwReturn["KSTMZTA"] = "J";
                    dwReturn["KSTMZTE"] = " ";
                    dwReturn["KSTRZTK"] = "J";
                    dwReturn["KSTRZTM"] = "J";
                    dwReturn["KSTRZTA"] = "J";
                    dwReturn["KSTRZTE"] = " ";
                    dwReturn["KSTPZTK"] = "J";
                    dwReturn["KSTPZTA"] = "J";
                    dwReturn["KSTBELAST"] = "100";
                    dwReturn["KSTRASTER"] = "T ";
                    dwReturn["KSTPKSTKRS"] = "  ";
                    dwReturn["KSTPKST"] = "0000";
                    dwReturn["KSTARBZT1"] = "2400";
                    dwReturn["KSTARBZT2"] = "2400";
                    dwReturn["KSTARBZT3"] = "2400";
                    dwReturn["KSTARBZT4"] = "2400";
                    dwReturn["KSTARBZT5"] = "2400";
                    dwReturn["KSTARBZT6"] = "2400";
                    dwReturn["KSTARBZT7"] = "2400";
                    dwReturn["KSTARBZT8"] = "2400";
                    dwReturn["KSTARBZT9"] = "2400";
                    dwReturn["KSTARBZT10"] = "2400";
                    dwReturn["KSTBRAZT1"] = "0";
                    dwReturn["KSTBRAZT2"] = "0";
                    dwReturn["KSTBRAZT3"] = "0";
                    dwReturn["KSTBRAZT4"] = "0";
                    dwReturn["KSTBRAZT5"] = "0";
                    dwReturn["KSTBRAZT6"] = "0";
                    dwReturn["KSTBRAZT7"] = "0";
                    dwReturn["KSTBRAZT8"] = "0";
                    dwReturn["KSTBRAZT9"] = "0";
                    dwReturn["KSTBRAZT10"] = "0";
                    dwReturn["KSTMSTDMNR"] = " ";
                    dwReturn["KSTRSTDMNR"] = " ";
                    dwReturn["KSTKKAPKZ"] = " ";
                    dwReturn["KSTGKSTKRS"] = "  ";
                    dwReturn["KSTGKST"] = "0000";
                    dwReturn["KSTVRBRKZ"] = " ";
                    dwReturn["KSTMEHRSTUF"] = "N";
                    dwReturn["KSTGRORAS1"] = "0";
                    dwReturn["KSTGRORAS2"] = "0";
                    dwReturn["KSTGRORAS3"] = "0";
                    dwReturn["KSTGRORAS4"] = "0";
                    dwReturn["KSTGRORAS5"] = "0";
                    dwReturn["KSTGRORAS6"] = "0";
                    dwReturn["KSTGRORAS7"] = "0";
                    dwReturn["KSTGRORAS8"] = "0";
                    dwReturn["KSTGRORAS9"] = "0";
                    dwReturn["KSTGRORAS10"] = "0";
                    dwReturn["KSTGENBENID1"] = "        ";
                    dwReturn["KSTGENWERT1"] = "0";
                    dwReturn["KSTGENBENID2"] = "        ";
                    dwReturn["KSTGENWERT2"] = "0";
                    dwReturn["KSTGENBENID3"] = "        ";
                    dwReturn["KSTGENWERT3"] = "0";
                    dwReturn["KSTGENBENID4"] = "        ";
                    dwReturn["KSTGENWERT4"] = "0";
                    dwReturn["KSTGENBENID5"] = "        ";
                    dwReturn["KSTGENWERT5"] = "0";
                    dwReturn["KSTGENBENID6"] = "        ";
                    dwReturn["KSTGENWERT6"] = "0";
                    dwReturn["KSTFILLER"] = "                                           ";
                    dwReturn["KSTAENDZL"] = "0";
                    dwReturn["KSTAENDBEN"] = "        ";
                    dwReturn["KSTAENDDAT"] = "0";
                    dwReturn["KSTNEUBEN"] = "JAKV    ";
                    dwReturn["KSTNEUDAT"] = "20140920";
                    #endregion
                    break;
            }
        }

        public void InsertKSTSTELL(DataRow dwData, string ITXDBVERSION = "50.24")
        {
            or1 = OracleDB.CreateCommand();
            switch (ITXDBVERSION)
            {
                case "YGR":
                case "SXN":
                case "TST":
                default:
                    or1.CommandText = "INSERT INTO KSTSTELL ( KSTMANDANT,KSTKSTKRS,KSTKST,KSTWERK,KSTABT,KSTBEZ,KSTPLNKST,KSTABRKST,KSTBDEKEN,KSTMZTK,KSTMZTM,KSTMZTA,KSTMZTE,KSTRZTK,KSTRZTM,KSTRZTA,KSTRZTE,KSTPZTK,KSTPZTA,KSTBELAST,KSTRASTER,KSTPKSTKRS,KSTPKST,KSTARBZT1,KSTARBZT2,KSTARBZT3,KSTARBZT4,KSTARBZT5,KSTARBZT6,KSTARBZT7,KSTARBZT8,KSTARBZT9,KSTARBZT10,KSTBRAZT1,KSTBRAZT2,KSTBRAZT3,KSTBRAZT4,KSTBRAZT5,KSTBRAZT6,KSTBRAZT7,KSTBRAZT8,KSTBRAZT9,KSTBRAZT10,KSTMSTDMNR,KSTRSTDMNR,KSTKKAPKZ,KSTGKSTKRS,KSTGKST,KSTVRBRKZ,KSTMEHRSTUF,KSTGRORAS1,KSTGRORAS2,KSTGRORAS3,KSTGRORAS4,KSTGRORAS5,KSTGRORAS6,KSTGRORAS7,KSTGRORAS8,KSTGRORAS9,KSTGRORAS10,KSTGENBENID1,KSTGENWERT1,KSTGENBENID2,KSTGENWERT2,KSTGENBENID3,KSTGENWERT3,KSTGENBENID4,KSTGENWERT4,KSTGENBENID5,KSTGENWERT5,KSTGENBENID6,KSTGENWERT6,KSTFILLER,KSTAENDZL,KSTAENDBEN,KSTAENDDAT,KSTNEUBEN,KSTNEUDAT)"
          + " VALUES (:KSTMANDANT:,:KSTKSTKRS:,:KSTKST:,:KSTWERK:,:KSTABT:,:KSTBEZ:,:KSTPLNKST:,:KSTABRKST:,:KSTBDEKEN:,:KSTMZTK:,:KSTMZTM:,:KSTMZTA:,:KSTMZTE:,:KSTRZTK:,:KSTRZTM:,:KSTRZTA:,:KSTRZTE:,:KSTPZTK:,:KSTPZTA:,:KSTBELAST:,:KSTRASTER:,:KSTPKSTKRS:,:KSTPKST:,:KSTARBZT1:,:KSTARBZT2:,:KSTARBZT3:,:KSTARBZT4:,:KSTARBZT5:,:KSTARBZT6:,:KSTARBZT7:,:KSTARBZT8:,:KSTARBZT9:,:KSTARBZT10:,:KSTBRAZT1:,:KSTBRAZT2:,:KSTBRAZT3:,:KSTBRAZT4:,:KSTBRAZT5:,:KSTBRAZT6:,:KSTBRAZT7:,:KSTBRAZT8:,:KSTBRAZT9:,:KSTBRAZT10:,:KSTMSTDMNR:,:KSTRSTDMNR:,:KSTKKAPKZ:,:KSTGKSTKRS:,:KSTGKST:,:KSTVRBRKZ:,:KSTMEHRSTUF:,:KSTGRORAS1:,:KSTGRORAS2:,:KSTGRORAS3:,:KSTGRORAS4:,:KSTGRORAS5:,:KSTGRORAS6:,:KSTGRORAS7:,:KSTGRORAS8:,:KSTGRORAS9:,:KSTGRORAS10:,:KSTGENBENID1:,:KSTGENWERT1:,:KSTGENBENID2:,:KSTGENWERT2:,:KSTGENBENID3:,:KSTGENWERT3:,:KSTGENBENID4:,:KSTGENWERT4:,:KSTGENBENID5:,:KSTGENWERT5:,:KSTGENBENID6:,:KSTGENWERT6:,:KSTFILLER:,:KSTAENDZL:,:KSTAENDBEN:,:KSTAENDDAT:,:KSTNEUBEN:,:KSTNEUDAT:)";
                    or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);

                    break;
                    //VAFMANDANT VAFKOLL VAFART VAFFARBE VAFBEZ VAFFFARBE

            }

            Connect2Proxy(or1);
        }

        public DataSet QKS01(DataRow dwData)
        {
            or1 = OracleDB.CreateCommand();
            or1.CommandText = "SELECT M.* FROM  KSTSTELL M"
                + " WHERE KSTMANDANT=:KSTMANDANT: AND KSTKSTKRS=:KSTKSTKRS: AND KSTKST=:KSTKST:";
            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            SResult = Connect2Proxy(or1);
            SResult.Tables[0].TableName = TableName;
            return SResult;
        }
        public DataSet QKS02(DataRow dwData)
        {
            or1 = OracleDB.CreateCommand();
            or1.CommandText = "SELECT DISTINCT M.KSTKSTKRS||KSTKST AS KEY, KSTBEZ AS DES,M.* FROM  KSTSTELL M"
                  + " WHERE KSTMANDANT=:KSTMANDANT:"
                + dwData["KSTKSTKRS"].ToString()
                + dwData["KSTKST"].ToString();
            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            SResult = Connect2Proxy(or1);
            SResult.Tables[0].TableName = TableName;
            return SResult;
        }
        public void DKS00(DataRow dwData)
        {
            or1 = OracleDB.CreateCommand();
            or1.CommandText = "DELETE FROM  KSTSTELL"
                + " WHERE KSTMANDANT=:KSTMANDANT: ";
            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            Connect2Proxy(or1);

        }
        public void DKS01(DataRow dwData)
        {
            or1 = OracleDB.CreateCommand();
            or1.CommandText = "DELETE FROM  KSTSTELL "
                + " WHERE KSTMANDANT=:KSTMANDANT: AND KSTKSTKRS=:KSTKSTKRS: AND KSTKST=:KSTKST:";
            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            Connect2Proxy(or1);

        }
        public void DKS02(DataRow dwData)
        {
            or1 = OracleDB.CreateCommand();
            or1.CommandText = "DELETE FROM  KSTSTELL"
                + " WHERE KSTMANDANT=:KSTMANDANT: AND KSTKSTKRS=:KSTKSTKRS: ";
            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            Connect2Proxy(or1);

        }



        public void UpdateKSTSTELL(DataRow dwData, int option = 1)
        {
            if (option == 0)
            {
                switch (app.company)
                {
                    case "YGR":
                    default:
                        option = 1;
                        break;
                }
            }
            or1 = OracleDB.CreateCommand();
            switch (option)
            {
                case 0:
                    break;
                case 1: UKS01(dwData); break;
                default:
                    break;
            }


        }

        public void UKS01(DataRow dwData)
        {
            or1 = OracleDB.CreateCommand();
            or1.CommandText = "UPDATE KSTSTELL SET KSTMANDANT=:KSTMANDANT:,KSTKSTKRS=:KSTKSTKRS:,KSTKST=:KSTKST:,KSTWERK=:KSTWERK:,KSTABT=:KSTABT:,KSTBEZ=:KSTBEZ:,KSTPLNKST=:KSTPLNKST:,KSTABRKST=:KSTABRKST:,KSTBDEKEN=:KSTBDEKEN:,KSTMZTK=:KSTMZTK:,KSTMZTM=:KSTMZTM:,KSTMZTA=:KSTMZTA:,KSTMZTE=:KSTMZTE:,KSTRZTK=:KSTRZTK:,KSTRZTM=:KSTRZTM:,KSTRZTA=:KSTRZTA:,KSTRZTE=:KSTRZTE:,KSTPZTK=:KSTPZTK:,KSTPZTA=:KSTPZTA:,KSTBELAST=:KSTBELAST:,KSTRASTER=:KSTRASTER:,KSTPKSTKRS=:KSTPKSTKRS:,KSTPKST=:KSTPKST:,KSTARBZT1=:KSTARBZT1:,KSTARBZT2=:KSTARBZT2:,KSTARBZT3=:KSTARBZT3:,KSTARBZT4=:KSTARBZT4:,KSTARBZT5=:KSTARBZT5:,KSTARBZT6=:KSTARBZT6:,KSTARBZT7=:KSTARBZT7:,KSTARBZT8=:KSTARBZT8:,KSTARBZT9=:KSTARBZT9:,KSTARBZT10=:KSTARBZT10:,KSTBRAZT1=:KSTBRAZT1:,KSTBRAZT2=:KSTBRAZT2:,KSTBRAZT3=:KSTBRAZT3:,KSTBRAZT4=:KSTBRAZT4:,KSTBRAZT5=:KSTBRAZT5:,KSTBRAZT6=:KSTBRAZT6:,KSTBRAZT7=:KSTBRAZT7:,KSTBRAZT8=:KSTBRAZT8:,KSTBRAZT9=:KSTBRAZT9:,KSTBRAZT10=:KSTBRAZT10:,KSTMSTDMNR=:KSTMSTDMNR:,KSTRSTDMNR=:KSTRSTDMNR:,KSTKKAPKZ=:KSTKKAPKZ:,KSTGKSTKRS=:KSTGKSTKRS:,KSTGKST=:KSTGKST:,KSTVRBRKZ=:KSTVRBRKZ:,KSTMEHRSTUF=:KSTMEHRSTUF:,KSTGRORAS1=:KSTGRORAS1:,KSTGRORAS2=:KSTGRORAS2:,KSTGRORAS3=:KSTGRORAS3:,KSTGRORAS4=:KSTGRORAS4:,KSTGRORAS5=:KSTGRORAS5:,KSTGRORAS6=:KSTGRORAS6:,KSTGRORAS7=:KSTGRORAS7:,KSTGRORAS8=:KSTGRORAS8:,KSTGRORAS9=:KSTGRORAS9:,KSTGRORAS10=:KSTGRORAS10:,KSTGENBENID1=:KSTGENBENID1:,KSTGENWERT1=:KSTGENWERT1:,KSTGENBENID2=:KSTGENBENID2:,KSTGENWERT2=:KSTGENWERT2:,KSTGENBENID3=:KSTGENBENID3:,KSTGENWERT3=:KSTGENWERT3:,KSTGENBENID4=:KSTGENBENID4:,KSTGENWERT4=:KSTGENWERT4:,KSTGENBENID5=:KSTGENBENID5:,KSTGENWERT5=:KSTGENWERT5:,KSTGENBENID6=:KSTGENBENID6:,KSTGENWERT6=:KSTGENWERT6:,KSTFILLER=:KSTFILLER:,KSTAENDZL=:KSTAENDZL:,KSTAENDBEN=:KSTAENDBEN:,KSTAENDDAT=:KSTAENDDAT:,KSTNEUBEN=:KSTNEUBEN:,KSTNEUDAT=:KSTNEUDAT:"
                + " WHERE KSTMANDANT=:KSTMANDANT: AND KSTKSTKRS=:KSTKSTKRS: AND KSTKST=:KSTKST:";
            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            Connect2Proxy(or1);

        }
    }
}
